PARTS := $(patsubst %/Makefile,%,$(wildcard */Makefile))

.PHONY: env recreate rebuild restart logs down fmt check build

env:
	@test -f .env || awk 'FNR == 1 && NR > 1 { print "" } 1' .env.example $(addsuffix /.env.example,$(PARTS)) > .env
	@for part in $(PARTS); do test -f $$part/docker-compose.override.yml || cp $$part/docker-compose.override.yml.example $$part/docker-compose.override.yml; done

recreate:
	docker compose up -d --force-recreate

rebuild: build
	docker compose up -d

restart:
	docker compose restart

logs:
	docker compose logs -f --tail=100

down:
	docker compose down

fmt check build:
	@for part in $(PARTS); do $(MAKE) -C $$part $@ || exit 1; done
